<html>
<head><meta charset="utf-8"><title>generalizing wg-traits · wg-traits · Zulip Chat Archive</title></head>
<h2>Stream: <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/index.html">wg-traits</a></h2>
<h3>Topic: <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/generalizing.20wg-traits.html">generalizing wg-traits</a></h3>

<hr>

<base href="https://rust-lang.zulipchat.com">

<head><link href="https://rust-lang.github.io/zulip_archive/style.css" rel="stylesheet"></head>

<a name="237492190"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/generalizing%20wg-traits/near/237492190" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/generalizing.20wg-traits.html#237492190">(May 05 2021 at 13:12)</a>:</h4>
<p>We've talked a bit about the purpose and scope of <a class="stream" data-stream-id="144729" href="/#narrow/stream/144729-wg-traits">#wg-traits</a></p>



<a name="237492238"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/generalizing%20wg-traits/near/237492238" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/generalizing.20wg-traits.html#237492238">(May 05 2021 at 13:12)</a>:</h4>
<p>I've come to the opinion that (a) wg-traits should be a <em>subteam</em> of the lang team</p>



<a name="237492291"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/generalizing%20wg-traits/near/237492291" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/generalizing.20wg-traits.html#237492291">(May 05 2021 at 13:13)</a>:</h4>
<p>to which the lang team generally delegates traits / type-checking / soundness issues</p>



<a name="237492297"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/generalizing%20wg-traits/near/237492297" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/generalizing.20wg-traits.html#237492297">(May 05 2021 at 13:13)</a>:</h4>
<p>there is also an implementation side of things</p>



<a name="237492322"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/generalizing%20wg-traits/near/237492322" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/generalizing.20wg-traits.html#237492322">(May 05 2021 at 13:13)</a>:</h4>
<p>we may want to organize a bit under that</p>



<a name="237492338"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/generalizing%20wg-traits/near/237492338" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/generalizing.20wg-traits.html#237492338">(May 05 2021 at 13:13)</a>:</h4>
<p>I'm thinking about things like soundness issues and the like</p>



<a name="237492372"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/generalizing%20wg-traits/near/237492372" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/generalizing.20wg-traits.html#237492372">(May 05 2021 at 13:13)</a>:</h4>
<p>this is something the lang team has talked about on and off, adjusting its structure</p>



<a name="237492407"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/generalizing%20wg-traits/near/237492407" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/generalizing.20wg-traits.html#237492407">(May 05 2021 at 13:13)</a>:</h4>
<p>(cc <span class="user-mention" data-user-id="239881">@Josh Triplett</span>, I think you agree with this, but I'd like to know :)</p>



<a name="237492475"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/generalizing%20wg-traits/near/237492475" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/generalizing.20wg-traits.html#237492475">(May 05 2021 at 13:14)</a>:</h4>
<p>Yeah, I mean it's a bit interesting because we talk a lot about design (lang) and a lot about implementation (compiler)</p>



<a name="237492478"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/generalizing%20wg-traits/near/237492478" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/generalizing.20wg-traits.html#237492478">(May 05 2021 at 13:14)</a>:</h4>
<p>I'm generally factoring up an RFC around this and related topics</p>



<a name="237492523"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/generalizing%20wg-traits/near/237492523" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/generalizing.20wg-traits.html#237492523">(May 05 2021 at 13:14)</a>:</h4>
<p>it's going to take some work to grow and figure out membership</p>



<a name="237492539"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/generalizing%20wg-traits/near/237492539" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/generalizing.20wg-traits.html#237492539">(May 05 2021 at 13:14)</a>:</h4>
<p>but I think it's an important thing for us to do :)</p>



<a name="237492763"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/generalizing%20wg-traits/near/237492763" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/generalizing.20wg-traits.html#237492763">(May 05 2021 at 13:16)</a>:</h4>
<p>I'm trying to think, is there another wg (or wg-like team) that has such a heavy overlap between design and implementation?</p>



<a name="237492783"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/generalizing%20wg-traits/near/237492783" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/generalizing.20wg-traits.html#237492783">(May 05 2021 at 13:16)</a>:</h4>
<p>Maybe nll wg?</p>



<a name="237492815"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/generalizing%20wg-traits/near/237492815" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/generalizing.20wg-traits.html#237492815">(May 05 2021 at 13:16)</a>:</h4>
<p>NLL, yes, const generics</p>



<a name="237492849"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/generalizing%20wg-traits/near/237492849" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/generalizing.20wg-traits.html#237492849">(May 05 2021 at 13:16)</a>:</h4>
<p>const generics is a project group, and it would definitely also fall under the general scope of what I'm taking about here</p>



<a name="237492856"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/generalizing%20wg-traits/near/237492856" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/generalizing.20wg-traits.html#237492856">(May 05 2021 at 13:16)</a>:</h4>
<p>Ah, yeah, const eval</p>



<a name="237492858"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/generalizing%20wg-traits/near/237492858" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/generalizing.20wg-traits.html#237492858">(May 05 2021 at 13:16)</a>:</h4>
<p>I think I would just include &lt;-- EDIT: (I meant include const generics)</p>



<a name="237492878"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/generalizing%20wg-traits/near/237492878" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/generalizing.20wg-traits.html#237492878">(May 05 2021 at 13:16)</a>:</h4>
<p>const eval too</p>



<a name="237493033"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/generalizing%20wg-traits/near/237493033" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/generalizing.20wg-traits.html#237493033">(May 05 2021 at 13:18)</a>:</h4>
<p>I think a key difference is wg-traits covers a lot of different features under the "area" of trait solving</p>



<a name="237493077"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/generalizing%20wg-traits/near/237493077" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/generalizing.20wg-traits.html#237493077">(May 05 2021 at 13:18)</a>:</h4>
<p>Thought I guess you can imagine that const eval has a lot of features</p>



<a name="237493244"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/generalizing%20wg-traits/near/237493244" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/generalizing.20wg-traits.html#237493244">(May 05 2021 at 13:19)</a>:</h4>
<p>Definitely thought about this given the "Team Charters" section of <a href="https://blog.rust-lang.org/inside-rust/2021/05/04/core-team-update.html">https://blog.rust-lang.org/inside-rust/2021/05/04/core-team-update.html</a></p>



<a name="237493275"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/generalizing%20wg-traits/near/237493275" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/generalizing.20wg-traits.html#237493275">(May 05 2021 at 13:19)</a>:</h4>
<p>const-eval is a bit different, but I think that reckoning and integrating the "formal semantics" for these things feels connected</p>



<a name="237493377"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/generalizing%20wg-traits/near/237493377" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/generalizing.20wg-traits.html#237493377">(May 05 2021 at 13:20)</a>:</h4>
<p>I think ultimately we want to separate the impl from the design a bit more</p>



<a name="237493471"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/generalizing%20wg-traits/near/237493471" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/generalizing.20wg-traits.html#237493471">(May 05 2021 at 13:20)</a>:</h4>
<p>/me thinks</p>



<a name="237516286"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/generalizing%20wg-traits/near/237516286" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Josh Triplett <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/generalizing.20wg-traits.html#237516286">(May 05 2021 at 15:32)</a>:</h4>
<p><span class="user-mention" data-user-id="116009">@nikomatsakis</span> I definitely agree with making it a subteam with that domain. I'm not yet sure exactly what process we would use for issues (somewhere on the spectrum from "consult" to "delegate"), but the general idea seems sound ( <span aria-label="grinning" class="emoji emoji-1f600" role="img" title="grinning">:grinning:</span> ) to me.</p>



<a name="237516352"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/generalizing%20wg-traits/near/237516352" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/generalizing.20wg-traits.html#237516352">(May 05 2021 at 15:32)</a>:</h4>
<p>Yeah, I'd probably expect it to depend on the question</p>



<a name="237516405"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/generalizing%20wg-traits/near/237516405" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/generalizing.20wg-traits.html#237516405">(May 05 2021 at 15:33)</a>:</h4>
<p>As an example, I think that for implied bounds, I would expect the broader team to weigh in on questions like the semver</p>



<a name="237516450"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/generalizing%20wg-traits/near/237516450" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/generalizing.20wg-traits.html#237516450">(May 05 2021 at 15:33)</a>:</h4>
<p>I think "advisory board" is probably the right metaphor</p>



<a name="237516523"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/generalizing%20wg-traits/near/237516523" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/generalizing.20wg-traits.html#237516523">(May 05 2021 at 15:33)</a>:</h4>
<p>Really the same as deferring to a project group on the details, and delegating to them to come up with the options</p>



<a name="237518536"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/generalizing%20wg-traits/near/237518536" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Josh Triplett <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/generalizing.20wg-traits.html#237518536">(May 05 2021 at 15:46)</a>:</h4>
<p>Yeah, a cross between an advisory board and a project group sounds about right.</p>



<hr><p>Last updated: Aug 07 2021 at 22:04 UTC</p>
</html>